package com.yoomiito.app.net.http

import com.yoomiito.app.model.BaseList
import com.yoomiito.app.model.LiveRecord
import com.yoomiito.app.model.LiveUserInfo
import com.yoomiito.app.model.bean.*
import com.yoomiito.app.model.cicle.*
import com.yoomiito.app.model.colleage.Subject
import com.yoomiito.app.model.colleage.SubjectShareInfo
import com.yoomiito.app.model.colleage.SubjectTableInfo
import com.yoomiito.app.model.config.ConfigInfo
import com.yoomiito.app.model.config.SystemInfo
import com.yoomiito.app.model.gift.GiftGoodsList
import com.yoomiito.app.model.gift.GiftType
import com.yoomiito.app.model.home.*
import com.yoomiito.app.model.my.*
import com.yoomiito.app.model.order.CreateOrderInfo
import com.yoomiito.app.model.order.OrderDetailInfo
import com.yoomiito.app.model.order.PayResultInfo
import com.yoomiito.app.model.order.ShopCarList
import io.reactivex.Observable
import okhttp3.RequestBody
import okhttp3.ResponseBody
import retrofit2.http.*

interface ApiService {

    /**
     * 获取用户信息
     */
    @GET("get_user_info")
    fun userInfo(): RequestResponse<UserInfo>

    /**
     * 微信授权登陆 验证用户是否在后台已经注册
     */
    @FormUrlEncoded
    @POST("wx_login")
    fun verificationUser(@Field("access_token") access_token: String,
                         @Field("refresh_token") refresh_token: String,
                         @Field("open_id") open_id: String,
                         @Field("unid") unid: String
    ): RequestResponse<UserInfo>

    /**
     * 发送验证码
     */
    @FormUrlEncoded
    @POST("sms_send_code")
    fun sendCode(@Field("mobile") mobile: String): RequestResponse<BingPhoneBean>

    /**
     * 验证短信验证码
     */
    @FormUrlEncoded
    @POST("sms_verify_code")
    fun verifyCode(@Field("verify_code") verify_code: String,
                   @Field("mobile") mobile: String,
                   @Field("open_id") open_id: String
    ): RequestResponse<UserInfo>

    /**
     * 绑定邀请码
     */
    @FormUrlEncoded
    @POST("bind_invite")
    fun bingInviteCode(@Field("invitation_code") invitation_code: String): RequestResponse<UserInfo>

    /**
     * 获取邀请人信息
     */
    @FormUrlEncoded
    @POST("verify_invite")
    fun getInviteInfo(@Field("invitation_code") invitation_code: String): RequestResponse<InvitePeopleInfoBean>

    /**
     * 退出登录
     */
    @GET("login_out")
    fun logout(): RequestResponse<*>


    /**
     * 已用手机登录用户-登录状态下-绑定微信
     */
    @FormUrlEncoded
    @POST("bind_wx")
    fun bindWx(@Field("access_token") access_token: String,
               @Field("refresh_token") refresh_token: String,
               @Field("open_id") open_id: String,
               @Field("unid") unid: String
    ): RequestResponse<*>

    /**
     * 获取获取用户信息
     */
    @GET("get_user_info")
    fun getUserInfo(): RequestResponse<UserInfo>

    /**
     * 首页---顶部导航
     */
    @GET("get_navigates")
    fun getNavigates(@Query("nav_id") nav_id: String): RequestResponse<List<NavInfo>>

    /**
     * 首页---banner和各种图
     */
    @GET("home")
    fun getHomeBannerAndIcon(): RequestResponse<HomeActData>

    /**
     * 首页---淘礼金
     */
    @GET("free_index")
    fun getFreeBuyAct(): RequestResponse<FreeBuyActInfo>

    /**
     * 淘礼金列表
     */
    @GET("free_list")
    fun getFreeGoodsList(@Query("id") id: String): RequestResponse<FreeActList>

    /**
     * 淘礼金---商品详情
     */
    @GET("free_detail")
    fun getFreeGoodsInfo(@Query("id") id: String,
                         @Query("product_id") product_id: String
    ): RequestResponse<GoodsDetail>

    @GET("get_free")
    fun buyFreeGoods(@Query("id") id: String,
                     @Query("product_id") product_id: String
    ): RequestResponse<FreeGoodsBuyInfo>

    /**
     * 首页----推荐商品
     */
    @GET("get_product_list")
    fun getHomeRecommendGoods(@Query("page") page: Int,
                              @Query("size") size: Int,
                              @Query("version") versionCode: Int
    ): RequestResponse<List<GoodsInfo>>

    /**
     * 抢购
     */
    @FormUrlEncoded
    @POST("limit_buy")
    fun getPanicGoods(@Field("hour_type") type: Int): RequestResponse<PanicData>

    /**
     * 商品详情
     */
    @GET("get_goods_detail/{id}")
    fun getGoodsInfo(@Path("id") id: String,
                     @Query("type") type: String
    ): RequestResponse<GoodsDetail>

    /**
     * 商品详情----获取关联商品
     */
    @GET("get_related_products/{id}")
    fun getRelatedGoods(@Path("id") id: String): RequestResponse<List<GoodsDetail>>

    /**
     * 商品分享----分享详情
     */
    @GET("get_share_detail/{id}")
    fun getShareDetail(@Path("id") id: String,
                       @Query("type") type: Int
    ): RequestResponse<GoodsShareInfo>


    /**
     * 搜索商品
     *
     * @param keyword
     * @param sort       排序_des（降序），排序_asc（升序），销量（total_sales），淘客佣金比率（tk_rate），
     * 累计推广量（tk_total_sales），总支出佣金（tk_total_commi），价格（price）
     * @param has_coupon 是否有优惠券 1是有 默认0
     * @return
     */
    @FormUrlEncoded
    @POST("search_goods")
    fun searchGoods(@Field("keyword") keyword: String,
                    @Field("sort") sort: String,
                    @Field("has_coupon") has_coupon: Int,
                    @Field("page") page: Int
    ): RequestResponse<List<GoodsInfo>>

    /**
     * 获取礼包列表
     *
     * @param sort        排序_des（降序），排序_asc（升序），价格 sale_price 销量volume
     * @param gift_type   分类
     * @param type        0-表示正常VIP产品，1-表示3650Vip产品,2-爆品' 3优品 4区代商城
     * @return
     */
    @GET("get_vip_goods")
    fun getVipGiftGoods(@Query("sort") sort: String,
                        @Query("page") page: Int,
                        @Query("gift_type") gift_type: Long,
                        @Query("type") type: Int
    ): RequestResponse<GiftGoodsList>

    @GET("get_type_lists/{id}")
    fun getGiftType(@Path("id") id: Int): RequestResponse<List<GiftType>>

    /**
     * 下单
     *
     * @param body
     * @return
     */
    @POST("create_order")
    fun createOrder(@Body body: RequestBody): RequestResponse<CreateOrderInfo>

    /**
     * 获取淘宝授权链接
     *
     * @return
     */
    @GET("get_taobao_url")
    fun getTaoBaoUrl(): RequestResponse<String>

    /**
     * 渠道Id注册
     *
     * @param code
     * @param state
     * @return
     */
    @GET("taobao_auth")
    fun taoBaoAuth(@Query("code") code: String,
                   @Query("state") state: String
    ): RequestResponse<*>

    /**
     * 添加收藏
     *
     * @return
     */
    @FormUrlEncoded
    @POST("add_collection")
    fun addCollection(@Field("num_iid") num_iid: String): RequestResponse<*>

    /**
     * 取消收藏
     *
     * @param num_iid
     * @return
     */
    @FormUrlEncoded
    @POST("del_collection")
    fun delCollection(@Field("num_iid") num_iid: String): RequestResponse<*>

    /**
     * 导航栏-商品列表
     *
     * @param name
     * @param sort
     * @return
     */
    @FormUrlEncoded
    @POST("navigates_goods")
    fun navigateGoods(@Field("name") name: String,
                      @Field("sort") sort: String
    ): RequestResponse<*>

    /**
     * 查询订单状态
     *
     * @param id
     * @return
     */
    @GET("query_order/{id}")
    fun quseryOrderStatus(@Path("id") id: String,
                          @Query("pay_type") pay_type: String
    ): RequestResponse<*>

    /**
     * 查询订单列表
     *
     * @param order_type
     * @param page
     * @return
     */
    @GET("personal/my_order")
    fun queryOrderList(@Query("order_type") order_type: Int,
                       @Query("page") page: Int
    ): RequestResponse<OrderList>

    /**
     * 订单详情
     *
     * @param order_id
     * @param type
     * @return
     */
    @GET("personal/order_detail")
    fun getOrderInfo(@Query("order_id") order_id: String,
                     @Query("order_type") type: Int
    ): RequestResponse<OrderDetailInfo>

    /**
     * 确认收货
     *
     * @param order_id   订单id 订单详情的id
     * @param order_type //订单详情的product_type的值
     * @return
     */
    @FormUrlEncoded
    @POST("personal/confirm_order")
    fun confirmOrder(@Field("order_id") order_id: String,
                     @Field("order_type") order_type: Int
    ): RequestResponse<*>

    /**
     * 直播列表
     *
     * @param page
     * @return
     */
    @GET("get_live_list")
    fun getLiveList(@Query("page") page: Int): RequestResponse<LiveListInfo>


    @FormUrlEncoded
    @POST("guimi_code")
    fun sureGuiMiHuiId(@Field("activation_code") activation_code: String): RequestResponse<GuiMIHuiBean>

    @FormUrlEncoded
    @POST("guimi_activation")
    fun guimihuiAct(@Field("activation_code") activation_code: String,
                    @Field("mobile") mobile: String,
                    @Field("verify_code") verify_code: String
    ): RequestResponse<GuiMiResult>

    /**
     * 好单库
     * 旧接口 ： get_haodanku
     * 新接口： get_haodanku_new
     *
     * @param id
     * @return
     */
    @GET("get_haodanku_new/{id}")
    fun getHaoDanKu(@Path("id") id: String,
                    @Query("sort") sort: Int,
                    @Query("coupon_min") hasCoupon: Int,
                    @Query("page") page: Long
    ): RequestResponse<HaoDanKuData>

    /**
     * 我的发布
     *
     * @param page
     * @return
     */
    @GET("circle/get_my_circle")
    fun getMyCircle(@Query("page") page: Int): RequestResponse<CicleInfo>

    /**
     * 下载文件
     *
     * @param url
     * @return
     */
    @Streaming
    @GET
    fun download(@Url url: String): Observable<ResponseBody>

    /**
     * 版本更新
     *
     * @return
     */
    @GET("app_version_info")
    fun newVersion(): RequestResponse<VersionInfo>

    /**
     * 主播信息
     *
     * @return
     */
    @GET("get_live_user")
    fun getLiveUser(): RequestResponse<LiveUserInfo>

    /**
     * 获取各公司广告页
     *
     * @return
     */
    @GET("get_loading_img")
    fun getAd(): RequestResponse<AdInfo>


    /**
     * 直播-开启录制视频
     *
     * @param cide
     * @param open
     * @return
     */
    @FormUrlEncoded
    @POST("set_live_record")
    fun liveRecord(@Field("cid") cide: String, //频道id
                   @Field("open") open: String
    ): RequestResponse<LiveRecord>//1开始 0关闭

    //测试用
    @GET("alipay")
    fun ali(): RequestResponse<*>

    //===============个人中心  begin==========================

    //获取用户中心数据
    @GET("personal/person_center")
    fun getUserCenterInfo(): RequestResponse<MyUserCenterInfo>

    //获取用户个人数据
    @GET("personal/person_info")
    fun getMyUserInfo(): RequestResponse<MyUserInfo>

    //修改用户信息
    @FormUrlEncoded
    @POST("personal/update_person_info")
    fun setMyUserInfo(@Field("name") name: String,
                      @Field("sex") sex: String,
                      @Field("birthday") birthday: String,
                      @Field("headimgurl") headimgurl: String
    ): RequestResponse<*>
//    RequestResponse<InvitePeopleInfoBean>> setMyUserInfo(@Field("name") String name,@Field("sex") int sex,@Field("birthday") String birthday,@Field("headimgurl") String headimgurl);

    //获取余额明细
    @GET("personal/account_detail")
    fun getMyMoneyDetail(@Query("page") page: Int): RequestResponse<MyMoneyDetailInfo>

    //获取余额明细（代理）
    @GET("withdraw/agent_account_list")
    fun getMyMoneyDetailAgent(@Query("page") page: Int): RequestResponse<MyMoneyDetailInfo>

    //获取VIP数据
    @GET("personal/vip_order")
    fun getMyVipOrder(@Query("page") page: Int,
                      @Query("type") type: Int,
                      @Query("size") size: Int
    ): RequestResponse<MyVipBean>

    //获取今日订单数据
    @GET("personal/today_order")
    fun getTodayOrder(@Query("page") page: Int,
                      @Query("type") type: Int,
                      @Query("size") size: Int
    ): RequestResponse<MyTodayOrderInfo>

    //获取月度订单数据
    @GET("personal/moth_order")
    fun getMonthOrder(@Query("page") page: Int,
                      @Query("month") month: Int,
                      @Query("size") size: Int
    ): RequestResponse<MyMonthOrderInfo>

    //获取历史订单数据
    @GET("personal/history_income")
    fun getHistoryIncome(@Query("page") page: Int,
                         @Query("size") size: Int
    ): RequestResponse<MyHistoryIncomeInfo>

    //获取历史订单每个月数据
    @GET("personal/history_income_by_day")
    fun getHistoryMonth(@Query("page") page: Int,
                        @Query("month") month: Int,
                        @Query("size") size: Int
    ): RequestResponse<MyHistoryMonthInfo>

    //获取商品收藏数据
    @GET("get_collection_list")
    fun getCollectGoods(@Query("page") page: Int,
                        @Query("size") size: Int
    ): RequestResponse<MyCollectGoodsBean>

    //删除收藏商品
    @FormUrlEncoded
    @POST("del_collection")
    fun deleteCollectGood(@Field("num_iid") num_iid: Long): RequestResponse<Any>

    //获取我的邀请数据
    @GET("personal/get_invite")
    fun getInvite(@Query("page") page: Int,
                  @Query("user_type") user_type: Int,
                  @Query("size") size: Int
    ): RequestResponse<MyInviteBean>

    //提现查询手续费率
    @FormUrlEncoded
    @POST("withdraw/withdraw_service_precent")
    fun getWithdrawServicePrecent(@Field("money") money: String): RequestResponse<MyServicePrecent>

    //混合支付
    @FormUrlEncoded
    @POST("multiplepay")
    fun multipPay(@Field("id") id: String,
                  @Field("weixin_money") weixin_money: Int,
                  @Field("ali_money") ali_money: Int,
                  @Field("account") account: String,
                  @Field("order_type") order_type: Int,
                  @Field("encoded_password") encoded_password: String,
                  @Field("yo_money_not") yo_money_not: String): RequestResponse<PayResultInfo>

    /**
     * 取消订单
     *
     * @param order_type
     * @param order_id
     * @return
     */
    @FormUrlEncoded
    @POST("personal/cancel_order")
    fun cancelOrder(@Field("order_type") order_type: Int,
                    @Field("order_id") order_id: String
    ): RequestResponse<*>

    //提现查询手续费率(代理)
    @FormUrlEncoded
    @POST("withdraw/agent_money")
    fun getAgentWithdrawServicePrecent(@Field("money") money: String): RequestResponse<MyServicePrecent>


    //提现
    //    RequestResponse<Object>> withdraw(@Field("money") String money, @Field("encoded_password") String encoded_password);
    @FormUrlEncoded
    @POST("withdraw/user_withdraw")
    fun withdraw(@Field("json") money: String,
                 @Field("json2") encoded_password: String
    ): RequestResponse<Any>


    //获取收款人信息
    @GET("get_user_baseinfo")
    fun getPayeeInfo(@Query("mobile") mobile: String): RequestResponse<PayeeInfo>

    //转账
    //    @FormUrlEncoded
    //    @POST("transfer")
    //    RequestResponse> transfer(@Field("t_uid") String t_uid,
    //                                 @Field("money") String money,
    //                                 @Field("encoded_password") String encoded_password);
    //转账
    @FormUrlEncoded
    @POST("transfer")
    fun transfer(@Field("json") t_uid: String,
                 @Field("json2") encoded_password: String
    ): RequestResponse<*>

    //提现（代理）
    @FormUrlEncoded
    @POST("withdraw/agent_withdraw")
    fun withdrawAgent(@Field("money") money: String): RequestResponse<Any>

    //获取用户的余额及是否是区代
    @GET("withdraw/get_money_agent")
    fun getMoneyAgent(): RequestResponse<MyRemainMoneyInfo>

    //获取代理余额（代理）
    @GET("withdraw/get_agent_account")
    fun getRemainMoneyAgent(): RequestResponse<MyRemainMoneyAgentInfo>

    //设置支付密码--发送验证码
    @POST("withdraw/send_sms")
    fun withdrawSms(): RequestResponse<*>

    //设置支付密码---验证验证码
    @FormUrlEncoded
    @POST("withdraw/verify_code_widthdraw")
    fun verifyWithdrawSms(@Field("verify_code") verifyCode: String): RequestResponse<*>

    //设置支付密码
    @FormUrlEncoded
    @POST("withdraw/set_withdraw_pass")
    fun setPayPsw(@Field("encoded_password") psw: String): RequestResponse<*>
    //===============个人中心  end==========================

    //系统配置信息
    @GET("config")
    fun getConfigInfo(): RequestResponse<ConfigInfo>

    //===============圈子  start==========================
    //获取优米圈数据
    @GET("circle/get_circle")
    fun geCicleData(@Query("page") page: Int,
                    @Query("size") size: Int
    ): RequestResponse<CicleInfo>

    //获取推荐商品数据
    @GET("get_community_list/{type}")
    fun geGoodsRecommendData(@Path("type") type: Int,
                             @Query("page") page: Int,
                             @Query("size") size: Int
    ): RequestResponse<CicleRecommendInfo>

    //圈子--推荐商品
    @GET("goods_recommend")
    fun getRecommendGoods(@Query("page") page: Long): RequestResponse<CircleReommendGoodsData>

    //获取已购买的商品列表
    @GET("personal/my_order")
    fun geBuyGoodsData(@Query("page") page: Int,
                       @Query("size") size: Int,
                       @Query("order_type") order_type: Int,
                       @Query("status") status: Int
    ): RequestResponse<CicleOrderInfo>

    //获取产品信息
    @FormUrlEncoded
    @POST("circle/get_product_info")
    fun geProductInfoData(@Field("product_id") product_id: String,
                          @Field("order_id") order_id: String,
                          @Field("order_type") order_type: Int
    ): RequestResponse<CicleProductnfo>

    //
    @FormUrlEncoded
    @POST("circle/create_circle")
    fun publishCicle(@Field("product_id") product_id: String,
                     @Field("order_id") order_id: String,
                     @Field("order_type") order_type: Int,
                     @Field("content") content: String,
                     @Field("imgurl") imgurl: String,
                     @Field("type") type: Int
    ): RequestResponse<Any>


    //获取七牛token
    @GET("qiniu/token")
    fun getQiniuToken(): RequestResponse<QiniuTokenInfo>
    //===============圈子  end==========================

    //====================购物车=======================//
    //购物车列表
    @GET("cart_list")
    fun showCarList(@Query("page") page: Int,
                    @Query("size") size: Int
    ): RequestResponse<ShopCarList>

    /**
     * 添加购物车
     *
     * @param product_id
     * @param num
     * @param type       类型 add 加数量(详情添加到购物车用) normal 总数量(购物车修改数量用)
     * @return
     */
    @FormUrlEncoded
    @POST("cart_product")
    fun addShopCar(@Field("product_id") product_id: Long,
                   @Field("num") num: Int,
                   @Field("type") type: String
    ): RequestResponse<*>

    /**
     * 购物车生成订单
     *
     * @param body
     * @return
     */
    @POST("creat_order_from_cart")
    fun createOrderFromShopCar(@Body body: RequestBody): RequestResponse<CreateOrderInfo>

    /**
     * 删除购物车商品
     *
     * @param productId
     * @return
     */
    @FormUrlEncoded
    @POST("del_cart_product")
    fun delGoodsFromShopCar(@Field("product_id") productId: String): RequestResponse<*>

    /**
     * 优币余额
     *
     * @return
     */
    @GET("coin")
    fun getYoumi(): RequestResponse<YouMI>

    /**
     * 优币明细
     *
     * @return
     */
    @GET("coin_list")
    fun getYouMiDetailList(@Query("page") page: Int): RequestResponse<MyMoneyDetailInfo>

    /**
     * 获取系统信息
     *
     * @param system 1 Android 2 IOS
     * @return
     */
    @GET("get_system_info")
    fun getSystemInfo(@Query("system") system: Int): RequestResponse<SystemInfo>

    /**
     * 系统配置弹窗
     *
     * @return
     */
    @GET("system_pop_Info")
    fun getSystemDialog(): RequestResponse<BannerAndIconInfo>

    /**
     * 获取邀请好友素材
     *
     * @return
     */
    @GET("get_invite_souece")
    fun getInviteADSource(@Query("page") page: Int,
                          @Query("size") size: Int
    ): RequestResponse<InviteFriend>

    /**
     * 获取特色专区
     *
     * @return
     */
    @GET("get_unique_area")
    fun getFeaturedArea(): RequestResponse<List<BannerAndIconInfo>>

    /**
     * 特色专区列表
     *
     * @param id
     * @return
     */
    @GET("get_topic_info")
    fun getFeatureAreaList(@Query("id") id: String,
                           @Query("page") page: Int
    ): RequestResponse<BaseList<FeaturedGoodsInfo>>

    /************** 商学院 ******************/

    /**
     * 课程列表
     * @param page
     * @return
     */
    @GET("get_school_list")
    fun queryColleageSubjectList(@Query("page") page: Int): RequestResponse<BaseList<Subject>>

    /**
     * 课程详情
     * @param id
     * @return
     */
    @GET("get_school_detail/{id}")
    fun getSubjectDetail(@Path("id") id: Long): RequestResponse<GoodsDetail>

    /**
     * 课程详情---目录
     * @param id
     * @return
     */
    @GET("get_school_catalogue/{id}")
    fun getSubjectTable(@Path("id") id: Long): RequestResponse<List<SubjectTableInfo>>

    /**
     * 课程详情--观看20s
     * @param id
     * @return
     */
    @FormUrlEncoded
    @POST("set_user_twenty_second")
    fun postTwentySecond(@Field("id") id: Long): RequestResponse<*>

    /**
     * 课程详情-----申请成为VIP
     * @param id
     * @return
     */
    @FormUrlEncoded
    @POST("level_up")
    fun requestVip(@Field("course_id") id: Long): RequestResponse<*>

    /**
     * 课程分享信息
     * @param id
     * @return
     */
    @GET("course_share/{id}")
    fun getSubjectShareInfo(@Path("id") id: Long): RequestResponse<SubjectShareInfo>

    /**
     * 添加别名成功后 上传服务器
     * @param user_id
     * @param models
     * @return
     */
    @FormUrlEncoded
    @POST("edit_umeng")
    fun pushAlias(@Field("user_id") user_id: String,
                  @Field("models") models: String
    ): RequestResponse<*>

    /**
     * 团队津贴列表
     * @return
     */
    @GET("personal/team_detailed")
    fun teamDetail(): RequestResponse<TeamAllowance>

    /**
     * 团队管理订单
     * @param type
     * @param page
     * @return
     */
    @GET("team_income_list")
    fun teamOrderList(@Query("type") type: String,
                      @Query("page") page: Int
    ): RequestResponse<MyTodayOrderInfo>

    /**
     * 天使计划----基础信息
     * @return
     */
    @GET("angel_message")
    fun angleBaseInfo(): RequestResponse<BaseAngleInfo>

    /**
     * 成为天使---支付
     * @param encodedPassword
     * @return
     */
    @FormUrlEncoded
    @POST("angel_order")
    fun payForAngle(@Field("encodedPassword") encodedPassword: String): RequestResponse<*>

    /**
     * 上传天使用户信息
     * @param name
     * @param mobile
     * @param identity
     * @param areaName
     * @param address
     * @param mailbox
     * @return
     */
    @FormUrlEncoded
    @POST("angel_info_insert")
    fun uploadUserInfo(@Field("name") name: String,
                       @Field("mobile") mobile: String,
                       @Field("identity") identity: String,
                       @Field("areaName") areaName: String,
                       @Field("address") address: String,
                       @Field("mailbox") mailbox: String
    ): RequestResponse<*>

    /**
     * 获取天使信息
     * @return
     */
    @GET("angel_info")
    fun angleUserInfo(): RequestResponse<AngleUserInfo>

    /**
     * 获取天使合同
     * @return
     */
    @GET("angel_contract")
    fun angleAgreement(): RequestResponse<AgreementInfo>

    /**
     * 提交签名文件
     * @param pic
     * @return
     */
    @FormUrlEncoded
    @POST("angel_contract_confirm")
    fun commitAngleSign(@Field("pic1") pic: String,
                        @Field("pic2") pic2: String
    ): RequestResponse<AgreementInfo>

    /**
     * 星店商品下单-----获取余额信息
     *
     * @return
     */
    @POST("star_order_ensure")
    fun getStarStorePayInfo(): RequestResponse<UserMoneyInfo>

    /**
     * 星店支付
     *
     * @param pay
     * @return
     */
    @FormUrlEncoded
    @POST("star_order_pay")
    fun starStoreToPay(@Field("encoded_info") pay: String): RequestResponse<*>

    /**
     * 电子币明细
     */
    @GET("electronic_detailed_hws")
    fun starStoreCoinDetail(@Query("page") page: Int,
                            @Query("size") size: Int
    ): RequestResponse<MyMoneyDetailInfo>

    /**
     * 购买验证
     * @param product_id
     * @return
     */
    @FormUrlEncoded
    @POST("star/buy/verify")
    fun canBuy(@Field("product_id") product_id: String): RequestResponse<*>
}